IBIS Macromodel Task Group

Meeting date: 15 August 2023

Members (asterisk for those attending):
Achronix Semiconductor:       Hansel Dsilva
Amazon:                       John Yan
ANSYS:                      * Curtis Clark
                            * Wei-hsing Huang
Aurora System:                Dian Yang
Cadence Design Systems:       Ambrish Varma
                              Jared James
Google:                       Hanfeng Wang
                              GaWon Kim
Intel:                      * Michael Mirmak
                            * Kinger Cai
                              Chi-te Chen
                              Liwei Zhao
Keysight Technologies:      * Fangyi Rao
                              Majid Ahadi Dolatsara
                              Stephen Slater
                              Ming Yan
                              Rui Yang
Marvell:                      Steve Parker
Mathworks (SiSoft):           Walter Katz
                              Graham Kus
Micron Technology:            Justin Butterfield
Missouri S&T:                 Chulsoon Hwang
                              Yifan Ding
                              Zhiping Yang
Rivos:                        Yansheng Wang
SAE ITC:                      Michael McNair
Siemens EDA (Mentor):       * Arpad Muranyi
                            * Randy Wolff
Teraspeed Labs:             * Bob Ross
Zuken USA:                    Lance Wang

The meeting was led by Arpad Muranyi.  Curtis Clark took the minutes.

--------------------------------------------------------------------------------
Opens:

- None.

-------------
Review of ARs:

Kinger: Submit PSIJ BIRD draft to Lance to get an official BIRD number.
        - Done.  (BIRD226)

--------------------------
Call for patent disclosure:

- None.

-------------------------
Review of Meeting Minutes:

Arpad asked for any comments or corrections to the minutes of the August 8th
meeting.  Michael moved to approve the minutes.  Curtis seconded the motion.
There were no objections.

--------------
New Discussion:

[AMI Test Data] proposal:
Michael reviewed the changes in draft4, which he had sent to the ATM list prior
to the meeting.  He noted that the major changes were largely the result of
feedback from Fangyi.  Highlights include:
  - The [AMI Test Data] keyword consists of a name and a Model Sub-param that
    points to a particular [Model].  The Direction Sub-param of [AMI Test Data]
    has been removed.
  - The [Waveform] keyword, which is scoped by [AMI Test Data], now contains
    Clock_input_file and Clock_output_file Sub-params for use with Dual Input
    AMI Rx [Models].
  - A new Statistical_waveform Sub-param of [Waveform] is used to provide the
    impulse response to be passed into AMI_Init when it is called at the
    start of a time-domain AMI_GetWave simulation.
  - The AMI_outputs_file now contains a block index column, so it is clear which
    block's expected output value is being provided.
  - The time column has been removed from files providing voltage and impulse
    response waveforms.
  - All references to csv (comma separated value) have been removed.
  - The root name in the example syntax was corrected (it was previously shown
    as a name, value pair).
    
Arpad said that he didn't typically think of the term "waveform" when thinking
about the impulse response.  He wondered whether the name Statistical_waveform
risked confusing users.  Michael was open to suggestions for a different name,
but he had included "waveform" in the name because it refers to another instance
of the [Waveform] keyword.  Fangyi said the new Statistical_waveform Sub-param
was not as thoroughly described as the other Sub-params.  He asked whether we
assume that the sample_interval and other parameters are the same as those of
the time-domain input file.

Fangyi questioned the sentence:
"...the number of columns for type Statistical shall be at least one and no
 larger than the value of the aggressors parameter plus 1."
 
He suggested we should say that the number of columns must be equal to the value
of the aggressors parameter plus 1.  He said the EDA tool could always provide a
larger matrix, but the model would ignore any extra columns.  Michael agreed
with the corrected language.

Fangyi recalled that Arpad had suggested that we should more fully define what
wave_size means.  Michael said that he had added additional parenthetical text
describing wave_size.  He also noted that the length of Time_domain
Stimulus_files and Waveform_files is now required to be an integer multiple of
wave_size, to address Arpad's comment about an EDA tool possibly having to use a
different block size for the final block.

Fangyi noted the description of Clock_input_file.  He said that it only
describes the contents for the case when Rx_Use_Clock_Input is set to "Times".
Fangyi suggested that we add language for the "Wave" case:
"In the case of "Wave", the file contains the input clock waveform.  The number
 of rows and columns shall be identical to that of the waveform file."

Fangyi moved on to the Clock_output_file section.  He noted several instances of
"clock_file", which Michael confirmed were typos and holdovers from an earlier
draft.  Michael changed them to Clock_output_file.  The Clock_output_file
section mentioned that the terminating value is -1.  Arpad asked whether this
was also true of the Clock_input_file.  Fangyi said the question raised an
important point.  We need to break up the clock waveforms into individual blocks
for both Clock_input_file and Clock_output_file.  Because the number of clock
ticks returned by the model need not always coincide with the exact same
interval as the waveform, we need state that -1 values are embedded in the clock
waveforms to indicate the end of each block.  Michael agreed that it was
important to add new language clarifying the use of -1 in both Clock_input_file
and Clock_output_file.

In the AMI_outputs_file section, Fangyi suggested that we add "for Type
Time_domain" at the end of the phrase, "Because outputs will be generated for
each block".

Bob noted several instances of .csv file extensions still being used in the
[Waveform] Example.  Michael said he would remove them.

Arpad asked that the definition of "length" of the waveform files be made more
precisely.  Michael agreed.  Michael took an AR to create a draft5 containing
the suggestions from the meeting.

Agenda email cleanup:
The group reviewed the Agenda, tabled and bin list topics.

Agenda:

7) AMI root name checking by the parser:  This was also considered in the Quality
Task group, but there is no way to reliably have the parser execute the AMI Model
without providing additional inputs.  The [AMI Test Data] proposal may be what
provides a description of the necessary inputs, so this item is currently gated
by [AMI Test Data].  The group decided to leave this item in place and revisit it
after [AMI Test Data] is defined.

Topic bin list:
Guidance for power-aware vs. AMI models:  Bob suggested that we remove this
topic.  No one objected.  Arpad to remove it.

Digital signing of DLL/SO files: Michael suggested that this topic is likely to
become more important, as many systems will be refusing to run executable models
that aren't properly signed.  This topic should stay on the list.

Tabled topics:
17) Multi-level analog buffer modeling (PAMn, C-phy, etc.):  Arpad said that
there hadn't been much interest in this topic when he raised it.  He said we
could remove this topic as it's also covered in the Multi-level topic in the
Topic bin list.  No one objected.  Arpad to remove it.

The group decided to keep all of the other topics in in place for now.

- Michael: Motion to adjourn.
- Curtis: Second.
- Arpad: Thank you all for joining.

New ARs:

Michael: Send out draft5 of the [AMI Test Data] proposal including more
         feedback from Fangyi and the ATM meeting.

Arpad: Remove stale items from the agenda email as discussed.

-------------
Next meeting: 22 August 2023 12:00pm PT
-------------

IBIS Interconnect SPICE Wish List:

1) Simulator directives
